#pragma once
#include "LoginVO.h"

#include <PureMVC/PureMVC.hpp>

using PureMVC::Patterns::Proxy;

/**
 * @brief 登录代理类，负责处理登录相关的数据操作
 * 继承自Proxy，管理登录数据和登录请求的处理
 */
class LoginProxy: public Proxy
{
public:
    /**
     * @brief 构造函数
     */
    LoginProxy(void);
    /**
     * @brief 析构函数
     */
    virtual ~LoginProxy(void);

    /**
     * @brief 处理登录请求
     * @param loginValue 包含登录信息的LoginVO对象
     * @return 返回登录是否成功的布尔值
     */
    bool RequsetToLogin(data::LoginVO & loginValue);

    /**
     * @brief 获取登录结果
     * @return 返回登录结果字符串
     */
    std::string GetLoginRst(void);

private :
    /**
     * @brief 存储登录相关数据的对象
     */
    data::LoginVO m_loginValue;
};
